home *** CD-ROM | disk | FTP | other *** search
- import java.io.IOException;
- import java.util.Random;
- import javax.microedition.lcdui.Command;
- import javax.microedition.lcdui.CommandListener;
- import javax.microedition.lcdui.Display;
- import javax.microedition.lcdui.Displayable;
- import javax.microedition.lcdui.Image;
- import javax.microedition.midlet.MIDlet;
-
- public class LockGame extends MIDlet implements CommandListener, Runnable {
- public static final int NULL = -1;
- private Thread thread;
- private Random rand = new Random();
- private Command cmdExit = new Command("Exit", 1, 2);
- private LockCanvas canvas = new LockCanvas();
- private int command;
- static int btnflag;
- static String line;
-
- public LockGame() {
- this.init();
- this.canvas.addCommand(this.cmdExit);
- this.canvas.setCommandListener(this);
- Display.getDisplay(this).setCurrent(this.canvas);
- }
-
- public void checkAction() {
- switch (this.canvas.action) {
- case -5:
- btnflag = 100;
- case 48:
- default:
- break;
- case 49:
- btnflag = 1;
- break;
- case 50:
- btnflag = 2;
- break;
- case 51:
- btnflag = 3;
- break;
- case 52:
- btnflag = 4;
- break;
- case 53:
- btnflag = 5;
- break;
- case 54:
- btnflag = 6;
- break;
- case 55:
- btnflag = 7;
- break;
- case 56:
- btnflag = 8;
- break;
- case 57:
- btnflag = 9;
- }
-
- this.canvas.action = 0;
- }
-
- public void commandAction(Command var1, Displayable var2) {
- if (var1 == this.cmdExit) {
- this.destroyApp(false);
- ((MIDlet)this).notifyDestroyed();
- }
-
- }
-
- public void destroyApp(boolean var1) {
- LockCanvas.gameflag = 0;
- this.canvas.action = -1;
- }
-
- public void gameAction() {
- switch (btnflag) {
- case 0:
- case 1:
- case 3:
- case 7:
- case 9:
- case 100:
- case 101:
- default:
- break;
- case 2:
- if (LockCanvas.gameflag == 1) {
- LockCanvas.upDown = 1;
- int var1 = LockCanvas.input[LockCanvas.leftRight]++;
- if (LockCanvas.input[LockCanvas.leftRight] > 9) {
- LockCanvas.input[LockCanvas.leftRight] = 0;
- }
- }
- break;
- case 4:
- if (LockCanvas.gameflag == 1) {
- --LockCanvas.leftRight;
- if (LockCanvas.leftRight < 0) {
- LockCanvas.leftRight = 0;
- }
- }
- break;
- case 5:
- if (LockCanvas.gameflag == 0) {
- LockCanvas.gameflag = 1;
- } else if (LockCanvas.gameflag == 1) {
- LockCanvas.chflag = 1;
- } else if (LockCanvas.gameflag == 2) {
- LockCanvas.gameflag = 0;
- } else if (LockCanvas.gameflag == 3) {
- LockCanvas.gameflag = 0;
- }
- break;
- case 6:
- if (LockCanvas.gameflag == 1) {
- ++LockCanvas.leftRight;
- if (LockCanvas.leftRight > 3) {
- LockCanvas.leftRight = 3;
- }
- }
- break;
- case 8:
- if (LockCanvas.gameflag == 1) {
- LockCanvas.upDown = 2;
- int var10002 = LockCanvas.input[LockCanvas.leftRight]--;
- if (LockCanvas.input[LockCanvas.leftRight] < 0) {
- LockCanvas.input[LockCanvas.leftRight] = 9;
- }
- }
- }
-
- btnflag = 0;
- }
-
- public void gameMain() {
- boolean[] var4 = new boolean[10];
- switch (LockCanvas.gameflag) {
- case 0:
- LockCanvas.chcnt = 0;
-
- for(int var7 = 0; var7 < 4; ++var7) {
- int var3;
- do {
- var3 = this.rand(0, 9);
- } while(var4[var3]);
-
- LockCanvas.data[var7] = var3;
- var4[var3] = true;
- }
-
- for(int var8 = 0; var8 < 4; ++var8) {
- LockCanvas.input[var8] = 0;
- }
-
- for(int var9 = 0; var9 < 5; ++var9) {
- for(int var11 = 0; var11 < 4; ++var11) {
- LockCanvas.dlist[var9][var11] = 0;
- }
-
- LockCanvas.ds[var9] = 0;
- LockCanvas.dh[var9] = 0;
- }
-
- for(int var10 = 0; var10 < 10; ++var10) {
- LockCanvas.no[var10] = 1 + var10;
-
- for(int var12 = 0; var12 < 4; ++var12) {
- LockCanvas.list[var10][var12] = 0;
- }
-
- LockCanvas.s[var10] = 0;
- LockCanvas.h[var10] = 0;
- }
- break;
- case 1:
- if (LockCanvas.chflag == 1) {
- if (LockCanvas.chcnt < 9) {
- for(int var1 = 0; var1 < 4; ++var1) {
- LockCanvas.list[LockCanvas.chcnt][var1] = LockCanvas.input[var1];
- }
-
- for(int var5 = 0; var5 < 4; ++var5) {
- for(int var2 = 0; var2 < 4; ++var2) {
- if (LockCanvas.data[var5] == LockCanvas.input[var2]) {
- int var10002 = LockCanvas.h[LockCanvas.chcnt]++;
- }
- }
- }
-
- for(int var6 = 0; var6 < 4; ++var6) {
- if (LockCanvas.data[var6] == LockCanvas.input[var6]) {
- int var13 = LockCanvas.s[LockCanvas.chcnt]++;
- var13 = LockCanvas.h[LockCanvas.chcnt]--;
- }
- }
-
- if (LockCanvas.s[LockCanvas.chcnt] == 4) {
- LockCanvas.gameflag = 2;
- }
- } else {
- LockCanvas.gameflag = 3;
- }
-
- ++LockCanvas.chcnt;
- }
-
- LockCanvas.chflag = 0;
- case 2:
- case 3:
- }
-
- }
-
- public void init() {
- this.command = -1;
- btnflag = 0;
-
- try {
- LockCanvas.pict[0] = Image.createImage("/key.gif");
- } catch (IOException var1) {
- }
-
- }
-
- public void pauseApp() {
- }
-
- private int rand(int var1, int var2) {
- return (this.rand.nextInt() >>> 1) % (var2 - var1) + var1;
- }
-
- public void run() {
- while(true) {
- try {
- Thread.sleep(10L);
- } catch (InterruptedException var1) {
- }
-
- this.checkAction();
- this.gameAction();
- this.gameMain();
- this.canvas.repaint();
- }
- }
-
- public void setCommand(int var1) {
- this.command = var1;
- }
-
- public void startApp() {
- this.thread = new Thread(this);
- this.thread.start();
- }
- }
-